package ch4;

//一商场(有名称，地址等信息)的会员系统中，有多个会员，用对象数组表示，假设为100个，会员属性有会员号，姓名，手机号，积分，
public class Mall {
    String name;
    String address;
    Vip[] v = new Vip[100];
    int count = 0;
    // 0：添加新会员开卡的方法（添加新会员，参数如何处理？）方法申明如下：public boolean add(Card c)
    // 2*：增加新会员方法中添加判断，添加新会员时限制会员号不能重复，如果重复，禁止添加。
    //   提示：添加方法 boolean checkCardNoRepeat(String no)判断是否重复，如果返回true,则重复。
    public boolean add(String newVipNo, String newVipName, String newVipPhone, int newVipIntegral) {
        if (count >= v.length) {
            System.out.println("会员已满，无法添加！");
            return false;
        }
        v[count]=new Vip();
        v[count].vipNo = newVipNo;
        v[count].vipName = newVipName;
        v[count].vipPhone = newVipPhone;
        v[count].vipIntegral = newVipIntegral;
        count++;
        return true;
    }
    public void show() {
        System.out.println("会员信息：");
        System.out.println("序号  " + "会员卡号  " + "会员姓名  " + "会员手机号  " + "积分");
        for (int i = 0; i < count; i++) {
            System.out.println((i+ 1)+"  "+ v[i].vipNo +"  "+  v[i].vipName
                    +"  "+  v[i].vipPhone +"  "+  v[i].vipIntegral);
        }
    }
    //1: 尝试加方法：给某一用户涨分的方法。
    // 方法声明如右： boolean inc(String cardNo,int fen)：如果帐号不存在，返回false
    public boolean inc(String vipNo,int Integral){
        for(int i=0;i<count;i++){
            if (vipNo.equals(v[i].vipNo)){
                v[i].vipIntegral+=Integral;
                return true;
            }
        }
        return false;
    }
    //定义兑换礼品的方法假设
    //     1：100分兑换餐巾纸一包；
    //     2：400分兑换剃须刀一把；
    //     3：1000分兑换炒锅一个；
    // 用户输入卡号和需要兑换的奖品，兑换成功后扣除相应积分(礼品类不需要定义，用String返回即可)；如果帐号不存在，或者积分不够，兑换失败(提示:如果兑换成功,需要扣除相应的积分)。
    //  如果不成功，返回null。声明如下：
    //   public String duihuan(String cardNo,int lipingleixing)
    public String duihuan(String vipNo1,int choose){
        for(int i=0;i<count;i++){
            if (vipNo1.equals(v[i].vipNo)){
                if (choose==1&& v[i].vipIntegral>=100) {
                    v[i].vipIntegral-=100;
                    System.out.println("100分成功兑换餐巾纸一包");
                  return "";
                }
                if (choose==2&& v[i].vipIntegral>=400) {
                    v[i].vipIntegral-=400;
                    System.out.println("400分成功兑换剃须刀一把");
                    return "";
                }if (choose==3&& v[i].vipIntegral>=1000) {
                    v[i].vipIntegral-=1000;
                    System.out.println("1000分成功兑换炒锅一个");
                    return "";
                }
            }

        }
        System.out.println("兑换失败！");
        return null;
    }
    }
